Edge Worker サービスについて
Edge Worker サービスとは
自動的にグローバルに分散デプロイされるタイプのサーバーを提供するサービス
世界のどこからアクセスしてもレスポンスが速い
サーバーの管理が不要
オートスケール
リクエスト数 / 転送量に応じて課金
無料枠がある事も多い
無料枠がある場合は趣味サーバー置き場のように使える
Cloudflare Workers
役割 フルアプリケーション
言語 JavaScript (V8)、Rust (V8 Wasm)、Wasm
特徴 POP が多い (サーバーの場所が多い)
料金 1日10万リクエストまで無料、月額$5で月1000万リクエスト + 100万リクエスト超過あたり $0.5課金
Vercel Edge functions
役割 Next.js ミドルウェア
言語 JavaScript (V8)、Wasm
中身は Cloudflare Workers
料金 Vercel 本体の課金に含まれる形、public repo なら無料、private repo の場合 ユーザーあたり月額$20
Deno Deploy
役割 フルアプリケーション
言語 JavaScript / TypeScript (V8)、Wasm
特徴 Deno と互換
料金 ベータ期間中のため無料、ベータ終了後は Cloudflare Workers に準じた価格
Supabase Edge Functions
役割 フルアプリケーション (ただし HTML は返せない、API のみ)
言語 JavaScript / TypeScript (V8)、Wasm
中身は Deno Deploy
特徴 Supabase (DB) との連携が得意
料金 Supabase (DB サービス) の課金に含まれる形、Free プランは月50万リクエストまで、月額25ドルの Pro プランだと200万リクエストまで
Netlify Edge Functions
役割 フルアプリケーション
言語 JavaScript / TypeScript (V8)、Wasm
中身は Deno Deploy
Frontend Framework をいろいろ公式サポートしている (Next.js, Nuxt, Remix, etc)
Fastly Compute@Edge
役割 フルアプリケーション
言語 Rust, JavaScript, AssemblyScript, Wasm (wasmtime)
料金 無料プラン無し、100万リクエストあたり $0.35 課金、1ヶ月間$50分の範囲までトライアル可能
AWS CloudFront Functions
役割 CDN (CloudFront) へのリクエストの調整 (ex. ルーティング、HTTP ヘッダー書き換え)
言語 JavaScript (njs ES5 までしか書けない) 料金 無料枠なし、100万リクエストあたり $0.1 課金
AWS Lambda@Edge
役割 CDN (CloudFront) へのリクエストの調整 (ex. ルーティング、認証、画像変換、A/Bテスト、トラッキング etc)
言語 JavaScript (V8, Node.js), Python
料金 無料枠なし、100万リクエストあたり $0.6 課金
Akamai EdgeWorker
役割 不明
料金 不明
役割の違い
役割が限定的なもの
Vercel Edge Functions
Next.js のミドルウェアに特化
AWS Lambda@Edge、AWS CloudFront Functions
CloudFront (CDN) のリクエスト調整に特化
フルアプリケーション志向の Edge Worker
Cloudflare Workers (無料枠 10万リクエスト/日)
Deno Deploy (無料枠あり)
Fastly Compute@Edge (無料枠なし)
Supabase Edge Functions (無料枠 50万リクエスト/月)
Netlify Edge Functions
Cloudflare Workers、Deno Deploy、Supabase Edge Functions は趣味のちょっとしたサービスの運用に使う事が出来ます (昔流行った Heroku の感覚)
Disclosure: 筆者は Deno Deploy の開発会社に属しています